//对于axios进行二次封装
import axios from "axios";
// 引入进度条
import nprogress from "nprogress";
// 引入进度条样式
import "nprogress/nprogress.css"


const requests = axios.create({
    // 配置对象
    baseURL:"/mock",

    timeout:5000
});

// /请求拦截器:将来项目中【N个请求】，只要发请求,会触发请求拦截器!!!
requests.interceptors.request.use((config)=>{
    nprogress.start();
    return config;

});

//响应拦截器：请求数据返回会执行
requests.interceptors.response.use((res)=>{
     //res:实质就是项目中发请求、服务器返回的数据
    //进度条结束
    nprogress.done();
    return res.data;
},(error)=>{
//温馨提示:某一天发请求,请求失败,请求失败的信息打印出来
   return   Promise.reject(new Error('faile'));
},)

// 对外暴露
export default requests;